Path gestures

ABSTRACT

A system includes receiving a start of a path gesture and determining, via a processor, a decision point along the path gesture. At the decision point, a first command associated with a first dimension is displayed. In addition, at the decision point, a second command associated with a second dimension is displayed.

BACKGROUND

Software applications that run on desktop computers often utilizedropdown menus for displaying complex lists of items to a user. Adropdown menu allows the user to choose one value from the list.However, when running a desktop software application on a mobile device,such as a tablet or a smart phone, the mobile device's display screen(e.g., a touchscreen) may not be large enough to properly display adropdown menu without interfering with the software application. Forexample, a conventional dropdown menu or a nested menu (e.g., list itemswhich themselves contain new dropdown menus) being displayed on a mobiledevice may be difficult or impossible to scroll through or may clutterthe screen to a point that the application is not useable.

Using conventional methods, the implementation of a desktop applicationon a mobile device requires a reduction in user interface elements suchas dropdown menus as well as concealing information in general. Whiledesktop applications often have complex menu structures, because of theavailable space on a desktop display screen, mobile applicationstypically hide as much information as possible and only provide detailson demand. Therefore, a way to provide a more complex set offunctionality on a mobile device, while leaving the mobile screen cleanand intuitive, is desirable.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a method according to some embodiments.

FIG. 2 illustrates a path gesture mapping according to some embodiments.

FIG. 3 illustrates a path gesture mapping according to some embodiments.

FIG. 4 illustrates a correlation between a user menu and a path gestureaccording to some embodiments.

FIG. 5 illustrates a correlation between a user menu and a path gestureaccording to some embodiments.

FIG. 6 illustrates a correlation between a user menu and a path gestureaccording to some embodiments.

FIG. 7 illustrates a correlation between a user menu and a path gestureaccording to some embodiments.

FIG. 8 illustrates a correlation between a user menu and a path gestureaccording to some embodiments.

FIG. 9 illustrates a correlation between a user menu and a path gestureaccording to some embodiments.

FIG. 10 illustrates a correlation between a user menu and a path gestureaccording to some embodiments.

FIG. 11 illustrates a correlation between a user menu and a path gestureaccording to some embodiments.

FIG. 12 illustrates a correlation between a user menu and a path gestureaccording to some embodiments.

FIG. 13 illustrates a correlation between a user menu and a path gestureaccording to some embodiments.

FIG. 14 illustrates a correlation between a user menu and a path gestureaccording to some embodiments.

FIG. 15 illustrates a correlation between a user menu and a path gestureaccording to some embodiments.

FIG. 16 illustrates an apparatus according to some embodiments.

DETAILED DESCRIPTION

The following description is provided to enable any person in the art tomake and use the described embodiments. Various modifications, however,will remain readily apparent to those in the art.

The following embodiments relate to path gestures such as, for example,multi-step swipe gestures that may be performed by a user. Themulti-step swipe gestures may project actions, from a complex menustructure, into path gestures which may then be attached to anapplication. The path gestures may be based on a path gesture mapping.For example, after the completion of a single step (e.g., a singleswipe), the user may be offered a new set of actions/commands which maybe triggered by continuing with another swipe (or a different type ofgesture) into a specific direction based on the mapping. Each differentdirection may be associated with a different dimension (e.g., an Xdimension and a Y dimension) such as the dimensions of a Cartesiancoordinate system. The present embodiments may provide a complex set ofmenu functionality to mobile applications while leaving a mobile screenclean and intuitive. While a visual implementation of the presentembodiments is illustrated using X and Y dimensions, the visualimplementation of the present embodiments is not limited to an X and Yaxis. In some embodiments, the visual implementation may vary as long asnavigation options are displayed to the user in an easilydistinguishable manner. For example, the visual implementation maycomprise a popup from a context click or may be shaped like a circlethat illustrates more than three options (e.g., five options).

Now referring to FIG. 1, a method 100 is illustrated according to someembodiments. At 110, a start of a path gesture is received. The pathgesture may comprise a touch screen gesture such as, but not limited to,a swipe, drag, or touch. The path gesture may be performed using astylus or via a user's finger. The start of a path gesture may also bereferred to a trigger gesture or a first gesture that triggers the useof a path gesture mapping. The start of a gesture may comprise aplacement of a finger or a stylus on a touch screen or, in someembodiments, the start of a gesture may comprise an initial movement ofa finger or stylus on a touchscreen. For example, the start of thegesture may comprise movement of a user's finger in contact with adisplay screen. Or, in other words, movement of a user's finger incontact with a display screen, such as a touch screen, may trigger astart of the path gesture.

Now referring to FIG. 2, an embodiment of a path gesture mapping isillustrated. The path gesture may comprise a plurality of paths anddecision points. FIG. 2 may also illustrate a touchscreen 200 that mayfunction as an input device layered on a top of an electronic visualdisplay of a mobile device, such as, but not limited to a tablet or asmart phone. A user may provide input, or control the mobile device,through simple or multi-touch gestures by touching the touchscreen 200with a stylus, pen and-or one or more fingers. In the present example, afinger 210 may move in a leftward fashion along direction 201. Themovement along direction 201 may comprise a trigger gesture and mayindicate a start of the path gesture.

Referring back to FIG. 1, at 120 a decision point along the path gestureis determined. The decision point may comprise a point along the pathgesture which may indicate a set of actions that may be executed and theset of actions are to be displayed to a user. Determining the decisionpoint may be based on a distance that a finger travels along a path. Forexample, in a case that the path gesture comprises a one-dimensionalpath (e.g., a straight path or a path in a single direction), thedecision point may comprise a midpoint of the path gesture along theone-dimensional path. Referring again to FIG. 2, a decision point 202may be determined when the finger 210 travels path 201 and reaches point202 which may comprise a midpoint between path 201 and path 204 (e.g., apoint between two segments of a path gesture).

In other embodiments, and in a case where the path gesture comprises atwo-dimensional path (e.g., having two different directions such as, butnot limited to, (i) up-down and (ii) right-left), the decision point maycomprise a point where the path gesture changes from a firstdimension/direction to a second dimension/direction (e.g., a point wherea path changes from a X-axis to a Y-axis) such as from a left-rightdirection to a up-down direction. For example, a decision point 202 maybe determined when the finger 210 travels path 201 and reaches point 202where there is a possibility to change direction to either paths 203 orpaths 205. Path 201 may be perpendicular to path 205.

At 130, a first command associated with a first dimension and a secondcommand associated with a second dimension are displayed at the decisionpoint. For example, when a user's finger or stylus reaches the decisionpoint, a first command and a second command are displayed to the user.The first command may relate to a potential movement of the user'sfinger or stylus in an X axis and the second command may relate to apotential movement of the user's finger or stylus in a Y axis (e.g., afirst dimension and a second dimension). For each dimension, besides thefirst dimension, at least two commands may always be displayed. Forexample, in some embodiments a first command may be reached by moving upa dimension's axis, and a second command may be reached by moving downthe dimension's axis.

Referring again to FIG. 2, at decision point 202 a user may be presentedwith a plurality of command options. For example, the user may bepresented with a command associated with path 203, a command associatedwith path 204 and a command associated with path 205. In this case, ifthe user moves his finger along path 203, the command associated withpath 203 may be executed. Path 203 may be associated with movement in aY axis. Similarly, if the user moves his finger along path 204, then thecommand associated with path 204 may be executed. Path 204 may beassociated with movement in an X axis.

In the illustrated embodiment, if the user's finger moves along path205, the user's finger may reach a second decision point 206 and may bepresented with options or commands related to paths 207, 208 and 209.

For illustrative purposes, and to aid in understanding features of thespecification, some examples will now be introduced. These examples arenot intended to limit the scope of the claims. The examples relate tomanaging of a list of email items. However, the aforementioned methodmay also be associated with formatting text or many other applications.

Now referring to FIG. 3, FIG. 4, FIG. 5, FIG. 6, FIG. 7, FIG. 8, FIG. 9,FIG. 10, FIG. 11, FIG. 12, FIG. 13, FIG. 14, and FIG. 15, an embodimentof a touchscreen 300 and a mapping of its associated path gestures areillustrated. FIG. 3 illustrates path 301 (an initial trigger gesture),an archive path 303, a delete path 304, a progress path 305, a forwardto assistant path 307, a notify path 308, and a mark path 309. FIG. 3also illustrates decision points 302 and 306. FIG. 3 may illustrate apath gesture mapping.

Referring now to FIG. 4, an embodiment of the touchscreen 300 isillustrated alongside a list 400 of email items 401, 402 and 403. Thepresent examples relate to email item 402 being a target of a commandexecuted by a user through the use of a path gesture. A pointer 410(such as a finger or a stylus) moves along path 301 to initiate/triggera path gesture. A user may view a visual transformation of actionitems/commands based on the user's movement along a path gesture. Duringa user's movement along a path gesture, an action item, which the user'smovement is heading toward, may increase in size thus displacing otherelements. Furthermore, if the user completes one step (e.g., a singleswipe), an extending action may snap, showing that the system has“locked” it as current selection. If not yet snapped, the user mayreverse his last swipe falling back to a last set of actions. Forexample, once a user's finger reaches a decision point, a menuassociated with accessible commands may be locked at the decision point.The user may then perform a second single swipe to move to a command ora second decision point.

For a first example, and now referring to FIG. 5, FIG. 6 and FIG. 7, aselected email item may be deleted. As illustrated in FIG. 5, when thepointer 410 moves to decision point 302, a menu associated with emailitem 402 may appear to the user where the menu may indicate the possiblechoices/command that the pointer 410 can move to from the decision point302 (e.g., mark 404 which is associated with path 305, archive 405 whichis associated with path 303 and delete 406 which is associated with path304).

Now referring to FIG. 6, as illustrated, the pointer 410 has movedfurther down path 304 and, in response to moving further down path 304,the user menu associated with email item 402 now illustrates the deletecommand 406 more prominently than archive command 405 and the markcommand 404. Once the pointer 410 reaches a distance associated with thedelete command at FIG. 7, the delete command may be executed and theemail list item 402 may be illustrated as delete (or deleted).

For a second example, and now referring to FIG. 8, FIG. 9 and FIG. 10 aselected email item may be archived. As illustrated in FIG. 8, when thepointer 410 moves to decision point 302, a menu associated with emailitem 402 may appear to the user where the menu may indicate the possiblechoices/commands that the pointer 410 can move to from the decisionpoint 302 (e.g., mark 404 which is associated with path 305, archive 405which is associated with path 303 and delete 406 which is associatedwith path 304).

Now referring to FIG. 9, the pointer 410 has moved further down path 303and, in response to moving further down path 303, the user menuassociated with email item 402 now illustrates the archive command 405more prominently than the delete command 406 and the mark command 404.Once the pointer 410 reaches a distance associated with the archivecommand at FIG. 10, the archive command may be executed and the emaillist item 402 may be illustrated as archive (or archived).

For a third example, and now referring to FIG. 11, FIG. 12, FIG. 13,FIG. 14 and FIG. 15, a selected email item may be marked (e.g., markedas read, marked as unread, etc.). As illustrated in FIG. 11, when thepointer 410 moves to decision point 302, a menu associated with emailitem 402 may appear to the user where the menu may indicate the possiblechoices/commands that the pointer 410 can move to from the decisionpoint 302 (e.g., mark 404 which is associated with path 305, archive 405which is associated with path 303 and delete 406 which is associatedwith path 304).

Now referring to FIG. 12, the pointer 410 has moved further down path305 and in response to moving further down path 305, the user menu nowillustrates the mark 404 command more prominently than delete 406 andarchive 405. Once the pointer reaches decision point 306, at FIG. 13, amenu associated with email item 402 may appear to the user where themenu may indicate the possible choices/commands that the pointer 410 canmove to from the decision point 306 (e.g., mark 404 which is associatedwith path 309, forward to assistant 407 which is associated with path307 and notify 408 which is associated with path 308). Now referring toFIG. 14, the pointer 410 has moved further down path 309 and, inresponse to moving further down path 309, the user menu now illustratesthe mark command 404 more prominently than the forward to assistantcommand 407 and the command notify 408.

Once the pointer 410 reaches a distance associated with the mark commandat FIG. 15, the mark command may be executed and the email list item 402may be illustrated as mark (or marked). In some embodiments, the pointermay not need to reach the distance associated with the mark command(e.g., the user does not need to finish the swipe that reaches acommand). In this embodiment, a snap mechanism may be employed. Forexample, in a case that the user moved the pointer half way to thedecision point (e.g., 50% of total distance) the commands available fromthe decision point may be displayed. In a case that the user keepsmoving the pointer from the 50% point toward an end (e.g., a 100% point)the command may be snapped to (e.g., snapping to 100%) once the pointerpasses the 75% mark because the pointer is now closer to the commandthan to the decision point.

In an alternate embodiment, a determination of a screen size maydetermine a number or menu items or size of a path gesture menu that maybe used. For example, a smaller screen may only utilize two or threelevels of commands in an X and a Y direction. However, with a largertouchscreen four or five levels of commands may be utilized. In someembodiments, a path gesture may comprise both an X and a Y component(e.g., a Cartesian coordinate system). Commands may be prioritized basedon an amount of available screen size and commands may be clustered intominimal logical subsets. For example, in the case of font editing,commands may be clustered based on (i) Style (e.g., bold, underline,italics), (ii) color (e.g., red, black, blue) and (iii) effects (e.g.,lower case, all caps).

Now referring to FIG. 16, an embodiment of an apparatus 500 isillustrated. The apparatus 500 may comprise a mobile device. Theapparatus 500 may comprise a storage device 501, a medium 502, aprocessor 503, a main memory 504 and a display 505. According to someembodiments, the apparatus 500 may further comprise a digital displayport, such as a port adapted to be coupled to a digital computermonitor, television, portable display screen, or the like.

The main memory 502 may comprise any type of memory for storing data,such as, but not limited to, a Secure Digital (SD) card, a micro SDcard, a Single Data Rate Random Access Memory (SDR-RAM), a Double DataRate Random Access Memory (DDR-RAM), or a Programmable Read Only Memory(PROM). The main memory 502 may comprise a plurality of memory modules.

The processor 503 may include or otherwise be associated with dedicatedregisters, stacks, queues, etc. that are used to execute program codeand/or one or more of these elements may be shared there between. Insome embodiments, the processor 503 may comprise an integrated circuit.In some embodiments, the processor 503 may comprise circuitry to performa method such as, but not limited to, the method described with respectto FIG. 1.

The processor 503 communicates with the storage device 501. The storagedevice 501 may comprise any appropriate information storage device,including combinations of magnetic storage devices (e.g., a hard diskdrive), optical storage devices, and/or semiconductor memory devices.The storage device 501 stores a program for controlling the processor503. The processor 503 performs instructions of the program, and therebyoperates in accordance with any of the embodiments described herein. Forexample, the processor 503 may determine positions of a pointerassociated with a gesture and execute a command associated with thegesture.

The medium 502 may comprise any computer-readable medium that may storeprocessor-executable instructions to be executed by the processor 503.For example, the medium 502 may comprise a non-transitory tangiblemedium such as, but is not limited to, a compact disk, a digital videodisk, flash memory, optical storage, random access memory, read onlymemory, or magnetic media. The display 505 may comprise a touchscreenthat comprises an input device layered on the top of an electronicvisual display.

As used herein, information may be “received” by or “transmitted” to,for example: (i) the apparatus 500 from another device; or (ii) asoftware application or module within the apparatus 500 from anothersoftware application, module, or any other source.

In some embodiments, the storage device 501 stores a database (e.g.,including information associated with path gesture mappings andassociated commands.). Moreover, various databases might be split orcombined in accordance with any of the embodiments described herein.

Embodiments described herein are solely for the purpose of illustration.Those in the art will recognize other embodiments may be practiced withmodifications and alterations to that described above.

What is claimed is:
 1. A system comprising: a processor; a displayscreen comprising a touchscreen layered on a top of an electronic visualdisplay of a device; a non-transitory computer-readable medium storingprocessor-executable process steps executable by the processor to causethe system to: display a user interface of an application comprising aplurality of items; receive a start of a path gesture on the touchscreencomprising a first swipe, wherein the path gesture comprises a straightpath; determine, via the processor, a first decision point located at apoint along the path gesture, where the path gesture changes from afirst direction to a second direction; lock, on the electronic visualdisplay, a menu associated with the first decision point when a pointerreaches the first decision point; at the first decision point, displaythe menu comprising at least two commands associated with the pluralityof items of the application displayed on the user interface, wherein afirst command indicates a potential movement of the pointer in a firstdirection and display a second command indicates a potential movement ofthe pointer in a second direction so that a user can move the pointerfrom the first decision point to one of the commands or a seconddecision point, wherein the first direction is perpendicular to thesecond direction; and receive, on the touchscreen, a second swipeassociated with the path gesture in the second direction to execute thesecond command on a selected item of the plurality of items of theapplication; and in response to moving the pointer further down to apath of the second swipe from the first decision point, the selecteditem of the plurality of items of the application associated with thesecond command is indicated more prominently than other items of theapplication associated with other commands.
 2. The system of claim 1,wherein the start of the path gesture comprises movement of a pointer incontact with the touchscreen of the display screen.
 3. The system ofclaim 1, wherein determining the decision point along the path gesturecomprises: determining a distance that the pointer in contact with thetouchscreen of the display screen has moved.
 4. The system of claim 1,wherein in a case that the first swipe reaches half way to the firstdecision point, displaying the first command and the second command. 5.The system of claim 1, wherein the path gesture comprises a firstsegment and a second segment and the first decision point comprises apoint where the path gesture changes from the first segment to thesecond segment.
 6. The system of claim 1, wherein the first command,associated with the first direction, is executed based on a movement ofa pointer in contact with a display screen moving from the firstdecision point in the first direction.
 7. The system of claim 1, whereinthe second command, associated with the second direction, is executedbased on a movement of a pointer in contact with a display screen movingfrom the first decision point in the second direction.
 8. The system ofclaim 1, further comprising processor-executable process stepsexecutable by the processor to cause the system to: determine the seconddecision point along the path gesture; and at the second decision point,display a third command associated with the first direction and displaya fourth command associated with the second direction.
 9. The system ofclaim 1, wherein the path gesture comprises a first segment and a secondsegment and wherein the second segment is perpendicular to the firstsegment.
 10. A method comprising: providing a display screen comprisinga touchscreen layered on a top of an electronic visual display of adevice; displaying a user interface of an application comprising aplurality of items; receiving a start of path gesture on the touchscreencomprising movement of a pointer in contact with the touchscreen of thedisplay screen wherein the path gesture first moves in a first directionassociated with a first swipe and then moves in a second directionassociated with a second swipe; determining, via a processor, a firstdecision point along the path gesture, where the path gesture changesfrom the first direction to the second direction; and locking, on theelectronic visual display, a menu associated with a first decision pointwhen the pointer reaches the first decision point; at the first decisionpoint, displaying the menu comprising at least two commands associatedwith the plurality of items of the application displayed on the userinterface, wherein a first command indicates a potential movement of thepointer in a first direction, a second command indicates a potentialmovement of the pointer in a second direction and a third commandindicates a potential movement of the pointer in a third direction sothat a user can move the pointer from the first decision point to one ofthe commands or a second decision point, wherein the first direction isperpendicular to the second direction and third direction; receiving, onthe touchscreen the second swipe associated with the path gesture in thesecond direction to execute the second command on a selected item of theplurality of items of the application; and in response to moving thepointer further down to a path of the second swipe from the firstdecision point, indicating the selected item of the plurality of itemsof the application associated with the second command more prominentlythan other items of the application associated with other commands. 11.The method of claim 10, wherein determining the first decision pointalong the path gesture comprises determining a distance that the pointerhas traveled.
 12. The method of claim 10, wherein the first command isexecuted based on the pointer moving in the first direction and thesecond command is executed based on the pointer moving in the seconddirection.
 13. The method of claim 10, wherein in a case that the firstswipe reaches half way to the first decision point, displaying the firstcommand and the second command.
 14. A non-transitory computer-readablemedium storing program code, the program code executable by a processorof a computing system to cause the computing system to: provide adisplay screen comprising a touchscreen layered on a top of anelectronic visual display of a device; display a user interface of anapplication comprising a plurality of items; receive a start of a pathgesture on the touchscreen of a user interface comprising movement of apointer in contact with the touchscreen of the display screen whereinthe path gesture first moves in a first direction associated with afirst swipe and then moves in a second direction associated with asecond swipe; determine, via a processor, a first decision point alongthe path gesture, wherein the path gesture comprises a first segmentthat is perpendicular to a second segment, and wherein the firstdecision point comprises a point where the path of the gesture changesfrom the first segment to the second segment; and lock, on theelectronic visual display, a menu associated with the first decisionpoint when the pointer reaches the first decision point at the firstdecision point, display the menu comprising at least two commandsassociated with the plurality of items of the application displayed onthe user interface, wherein a first command indicates a potentialmovement of the pointer in a first direction and a second commandindicates a potential movement of the pointer in the second direction sothat a user can move the pointer from the first decision point to one ofthe commands or a second decision point; receive, on the touchscreen thesecond swipe associated with the path gesture in the second direction toexecute the second command on a selected item of the plurality of itemsof the application; in response to moving the pointer further down to apath of the second swipe from the first decision point, the selecteditem of the plurality of items of the application associated with thesecond command is indicated more prominently than other items of theapplication associated with other commands; and receive a start of a newpath gesture and lock a menu associated with the second decision pointwhen the pointer reaches the second decision point, wherein the menucomprises at least two commands associated with the plurality of itemsof the application displayed on the user interface.
 15. The medium ofclaim 14, wherein the start of the path gesture comprises movement ofthe pointer in contact with the touchscreen of the display screen. 16.The medium of claim 14, wherein determining the first decision pointalong the path gesture comprises determining a distance that the pointerin contact with the touchscreen of the display screen has moved.
 17. Themedium of claim 14, wherein in a case that the first swipe reaches halfway to the first decision point, displaying the first command and thesecond command and in a case that the second swipe reaches half way to apoint associated with the second command, executing the second command.18. The medium of claim 14, wherein the second command associated withthe second direction is executed based on a movement of the pointer incontact with the touchscreen of the display screen moving from the firstdecision point in the second direction wherein the first decision pointcomprises a point where the path gesture changes from the firstdirection to the second direction.
 19. The medium of claim 14, whereinthe path gesture comprises the first direction and the second directionand the first decision point comprise a point where the path of thegesture changes from the first direction to the second direction. 20.The medium of claim 14, further comprising program code executable bythe processor of a computing system to cause the computing system to:determine the second decision point along the path gesture; and at thesecond decision point, display a third command associated with the firstdirection and display a fourth command associated with the seconddirection.
 21. The system of claim 1, wherein the menu provides at leastone executable function for an application.
 22. The system of claim 21,wherein at least one function for the application that is listed on themenu in the electronic visual display is executed in response to receiptin the input device of the second swipe to execute the second command.